package com.example;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

public class Main1 {

    public static void main(String[] args) {
        // fun1(); // StackOverflowError,栈溢出错误
        fun3(3, 1);
        fun3(3, 2);
        /* 运行时异常 */
        // fun3(3, 0); // 方法内部的语句报错（异常）
        fun3(4, 1); // 不执行
        Integer a = 1;
        Number b = a;
        /* 编译时异常：语法强制检测 */
        /* FileNotFoundException */
        try {
            InputStream is = new FileInputStream("D:\\a.txt");
        } catch (FileNotFoundException e) {
            // throw new RuntimeException(e); // 报错
            // e.printStackTrace(); // 不会终止程序
            System.out.println(e.toString());
        }
        System.out.println("=======");
    }

    public static void fun3(int a, int b) {
        /* 异常捕获 */
        System.out.println(a/b); // 可能报错的语句
    }

    public static void fun1() {
        fun2();
    }

    public static void fun2() {
        fun1();
    }
}
